Combining Performance Aspects of Irregular Gauss-Seidel Via Sparse Tiling
نویسندگان
چکیده
Finite Element problems are often solved using multigrid techniques. The most time consuming part of multigrid is the iterative smoother, such as Gauss-Seidel. To improve performance, iterative smoothers can exploit parallelism, intra-iteration data reuse, and inter-iteration data reuse. Current methods for parallelizing Gauss-Seidel on irregular grids, such as multi-coloring and ownercomputes based techniques, exploit parallelism and possibly intra-iteration data reuse but not inter-iteration data reuse. Sparse tiling techniques were developed to improve intra-iteration and inter-iteration data locality in iterative smoothers. This paper describes how sparse tiling can additionally provide parallelism. Our results show the effectiveness of Gauss-Seidel parallelized with sparse tiling techniques on shared memory machines, specifically compared to owner-computes based Gauss-Seidel methods. The latter employ only parallelism and intra-iteration locality. Our results support the premise that better performance occurs when all three performance aspects (parallelism, intraiteration, and inter-iteration data locality) are combined.
منابع مشابه
Sparse Tiling for Stationary Iterative Methods
In modern computers, a program’s data locality can affect performance significantly. This paper details full sparse tiling, a run-time reordering transformation that improves the data locality for stationary iterative methods such as Gauss–Seidel operating on sparse matrices. In scientific applications such as finite element analysis, these iterative methods dominate the execution time. Full sp...
متن کاملUsing Sparse Tiling with Symmetric Multigrid
Good data locality is an important aspect of obtaining scalable performance for multigrid methods. However, locality can be difficult to achieve, especially when working with unstructured grids and sparse matrices whose structure is not known until runtime. Our previous work developed full sparse tiling, a runtime reordering and rescheduling technique for improving locality. We applied full spa...
متن کاملProof of Correctness for Sparse Tiling of Gauss-Seidel
Gauss-Seidel is an iterative computation used for solving a set of simultaneous linear equations, A~u = ~ f . If the matrix A uses a sparse matrix representation, storing only nonzeros, then the data dependences in the computation arise from A’s nonzero structure. We use this structure to schedule the computation at runtime using a technique called full sparse tiling. The sparse tiled computati...
متن کاملA Parallel Gauss-Seidel Algorithm for Sparse Power Systems Matrices
We describe the implementation and performance of an e cient parallel Gauss-Seidel algorithm that has been developed for irregular, sparse matrices from electrical power systems applications. Although, Gauss-Seidel algorithms are inherently sequential, by performing specialized orderings on sparse matrices, it is possible to eliminate much of the data dependencies caused by precedence in the ca...
متن کاملRescheduling for Locality in Sparse Matrix Computations
In modern computer architecture the use of memory hierarchies causes a program's data locality to directly aaect performance. Data locality occurs when a piece of data is still in a cache upon reuse. For dense matrix computations, loop transformations can be used to improve data locality. However, sparse matrix computations have non-aane loop bounds and indirect memory references which prohibit...
متن کامل